class MaterialController < ApplicationController

  def index
    list
    render :action => "list"
    
  end
  
  def list
    ejecutivo_id = session[:user]
    conditions = {}
    conditions[:ejecutivo_id] = ejecutivo_id
    
    @salidas_material = SalidaMaterial.paginate :page => params[:page], :per_page => DEFAULT_PER_PAGE, :conditions => conditions, :order => 'id ASC'
    
  end
  
  def show
    @salida_material = SalidaMaterial.find(params[:id])
    
  end

  def new
    ejecutivo = Ejecutivo.find(session[:user])
    @salida_material = SalidaMaterial.new
    
    @centros = ejecutivo.centros
    @salida_material.salida_material_detalles << SalidaMaterialDetalle.new
    
  end
  
  def create
    @salida_material = SalidaMaterial.new(params[:salida_material])
    @salida_material.ejecutivo_id = session[:user]
    
    if @salida_material.save
      importe = 0.0
      @salida_material.salida_material_detalles.each do |d|
        importe += d.cantidad * d.precio
      
      end unless @salida_material.salida_material_detalles.size == 0
    
      @salida_material.importe = importe
      @salida_material.save!

      flash[:notice] = "La Salida de Material se agrego correctamente."
      
      redirect_to :action => "index"
    else
      ejecutivo = Ejecutivo.find(session[:user])    
      @centros = ejecutivo.centros      
      
      render :action => "new"
    end
  end
  
  def imprimir
    @solicitud = SalidaMaterial.find(params[:id])
    @jefe = Ejecutivo.find(@solicitud.ejecutivo).parent
    
    render :action => 'salida', :layout => false
  end
end
